今天這篇要跟大家一起實作Nmap這個工具,也解釋一下Nmap搜出來的東西是甚麼
Nmap 是 Network Mapper的簡稱,是一個非常強大且靈活的網絡掃描工具,廣泛用於滲透測試、資安分析及系統管理等領域。它的主要功能是幫助用戶掃描網絡、偵測開放端口、發現運行的服務和識別目標系統的操作系統及潛在的漏洞。
在滲透測試中,資訊蒐集通常是必備的步驟,所以今天會帶大家了解他的用法及還有我們能從回傳的內容了解到什麼資訊。
前情提要:若未安裝kali及靶機,請看上兩篇文:
Day8 VMware及Kali安裝
Day9 常用靶機 : metasploitable 2 安裝教學
本測試僅使用於靶機之間測試,請勿用於外網環境
登入後輸入ifconfig或ip a 查詢:我的是192.168.252.132
nmap 192.168.252.132(你的IP)
這指令會掃描並列出目標上所有開放的端口,如下
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
53/tcp open domain
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
512/tcp open exec
513/tcp open login
...
nmap -sV 192.168.252.132(你的IP)
則會出現每個端口運行的具體服務和版本:
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp open telnet Linux telnetd
25/tcp open smtp Postfix smtpd
53/tcp open domain ISC BIND 9.4.2
...
nmap -A 192.168.252.132(你的IP)
則會將每個開放port的詳細內容列出:
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
| ftp-syst:
| STAT:
| FTP server status:
| Connected to 192.168.252.133
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 300
| Control connection is plain text
| Data connections will be plain text
| vsFTPd 2.3.4 - secure, fast, stable
|_End of status
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
| ssh-hostkey:
| 1024 60:0f:cf:e1:c0:5f:6a:74:d6:90:24:fa:c4:d5:6c:cd (DSA)
|_ 2048 56:56:24:0f:21:1d:de:a7:2b:ae:61:b1:24:3d:e8:f3 (RSA)
23/tcp open telnet Linux telnetd
25/tcp open smtp Postfix smtpd
...
nmap -O 192.168.252.132(你的IP)
結果會顯示NMap推測的OS及版本:
OS details: Linux 2.6.9 - 2.6.33
nmap並非一次只能掃瞄一種內容,也可以合在一起用:
nmap -sS -sV -O 192.168.252.132(你的IP)
這個指令包含了使用半開掃描(SYN)、查詢Port版本跟OS類型及版本
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp open telnet Linux telnetd
...
OS details: Linux 2.6.9 - 2.6.33
nmap --script vuln 192.168.252.132(你的IP)
--script vuln: --script 參數使用 Nmap 的 NSE 腳本來執行特定功能。vuln 是 Nmap 預設提供的一個腳本類別,用來進行漏洞偵測。這些腳本可以檢查出目標系統是否存在一些已知的漏洞。
輸出會顯示已知漏洞的詳細資料:
PORT STATE SERVICE
21/tcp open ftp
| ftp-vsftpd-backdoor:
| VULNERABLE:
| vsFTPd version 2.3.4 backdoor
| State: VULNERABLE (Exploitable)
| IDs: CVE:CVE-2011-2523 BID:48539
| vsFTPd version 2.3.4 backdoor, this was reported on 2011-07-04.
| Disclosure date: 2011-07-03
| Exploit results:
| Shell command: id
| Results: uid=0(root) gid=0(root)
| References:
| http://scarybeastsecurity.blogspot.com/2011/07/alert-vsftpd-download-backdoored.html
| https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-2523
| https://www.securityfocus.com/bid/48539
|_ https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/unix/ftp/vsftpd_234_backdoor.rb
ftp-vsftpd-backdoor:
vsFTPd version 2.3.4 backdoor 是針對 vsFTPd 版本 2.3.4 的後門漏洞。
漏洞詳細:
State: VULNERABLE (Exploitable): 表示漏洞可以被利用,並且存在實際的風險。
IDs:
CVE-2011-2523: 這是漏洞的官方識別碼,用來追蹤和描述。
BID:48539: SecurityFocus 提供的漏洞資料庫編號。
Exploit results:
Shell command: id: 攻擊者透過後門執行 id 命令,可以用來顯示使用者的身份資訊。
Results: uid=0(root) gid=0(root): 表示攻擊者取得了 root 權限,能夠完全控制系統。